#include "lib.h"



int O_1[C_out+1][M+1];	//工艺矩阵，类别i在机器j上的工序编号

int p_[NR+1];				//工序i的加工时间，

int s_[NR+1][NR+1];		//工序i到j的切换时间

int 	R_0_c[n_0+1];	//需求序列类别号码
double 	R_0_d[n_0+1];	//需求序列交货期

double  R_0_dw[n_0+1][2]; //需求的交货窗口


void set_data()
{
	///////// 工艺矩阵 //////////
	// O_1[i][j] 最终产品类型为i的工件在机器j上的工序编号
	for(int i=0;i<=C_out;i++)
	{
		for(int j=0;j<=M;j++)
		{
			O_1[i][j]=-1;//非法值
		}
	}
	O_1[1][1]=1;		O_1[1][2]=4;
	O_1[2][1]=2;		O_1[2][2]=5;
	O_1[3][1]=3;		O_1[3][2]=6;
	O_1[4][1]=3;		O_1[4][2]=7;
	/////////////////////////////
	///////// 加工时间 //////////
	//p_[k]=工序k的加工时间
	//
	p_[0]=-1;//invalid
	///////////////////
	p_[1]=1;
	p_[2]=2;
	p_[3]=1;
	p_[4]=2;
	p_[5]=2;
	p_[6]=1;
	p_[7]=2;
	/////////////////////////////
	
	////////// 切换矩阵 ///////////
	//s_[i][j]，从工序i切换到j的时间
	//
	for(int i=0;i<=NR;i++)
	{
		for(int j=0;j<=NR;j++)
		{
			s_[i][j]=-1;//invalid
		}
	}
	////////////////////
	s_[1][1]=0;	s_[1][2]=0;	s_[1][3]=1;	
	s_[2][1]=0;	s_[2][2]=0;	s_[2][3]=1;	
	s_[3][1]=1;	s_[3][2]=1;	s_[3][3]=0;	
										s_[4][4]=0;	s_[4][5]=0;	s_[4][6]=1;	s_[4][7]=1;
										s_[5][4]=0;	s_[5][5]=0;	s_[5][6]=1;	s_[5][7]=1;
										s_[6][4]=1;	s_[6][5]=1;	s_[6][6]=0;	s_[6][7]=1;
										s_[7][4]=1;	s_[7][5]=1;	s_[7][6]=0;	s_[7][7]=0;
	
	/////////////////////////////
	/////////// 原始需求 ///////////
	R_0_c[0]=-1;
	R_0_d[0]=-1.0;
	///////////////
	R_0_c[1]=1;	R_0_d[1]=5;
	R_0_c[2]=1;	R_0_d[2]=7;
	R_0_c[3]=2;	R_0_d[3]=6;
	R_0_c[4]=2;	R_0_d[4]=7;
	R_0_c[5]=3;	R_0_d[5]=7;	
	R_0_c[6]=3;	R_0_d[6]=10;
	R_0_c[7]=3;	R_0_d[7]=12;
	R_0_c[8]=4;	R_0_d[8]=7;
	R_0_c[9]=4;	R_0_d[9]=8;
	R_0_c[10]=4;	R_0_d[10]=13;	
	///////
}

